package com.piggy.logi.sys.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 承运商信息对象 logi_carrier
 *
 * @author idea
 * @date 2023-08-12
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("logi_carrier")
public class LogiCarrier implements Serializable {

    private static final long serialVersionUID=1L;

    /** id */
    @TableId(value = "carrier_id")
    private Long carrierId;

    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    /** 承运商名称 */
    @ApiModelProperty("承运商名称")
    private String carrierName;

    /** 承运商类型 */
    @ApiModelProperty("承运商类型")
    private Integer carrierType;

    /** 工商注册号 */
    @ApiModelProperty("工商注册号")
    private String registeredNo;

    /** 法人姓名 */
    @ApiModelProperty("法人姓名")
    private String legalPersonName;

    /** 法人身份证 */
    @ApiModelProperty("法人身份证")
    private String legalPersonIdCard;

    /** 办公电话 */
    @ApiModelProperty("办公电话")
    private String officePhone;

    /** 成立时间 */
    @ApiModelProperty("成立时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date establishTime;

    /** 注册资本 */
    @ApiModelProperty("注册资本")
    private BigDecimal registeredCapital;

    /** 经营地址 */
    @ApiModelProperty("经营地址区县Id")
    private Integer businessDistrictId;

    /** 经营地址详细 */
    @ApiModelProperty("经营地址详细")
    private String businessAddress;

    /** 经营地址经度 */
    @ApiModelProperty("经营地址经度")
    private Float businessLng;

    /** 经营地址纬度 */
    @ApiModelProperty("经营地址纬度")
    private Float businessLat;

    /** 联系人 */
    @ApiModelProperty("联系人")
    private String contactPerson;

    /** 职务 */
    @ApiModelProperty("职务")
    private String contactPosition;

    /** 电子邮箱 */
    @ApiModelProperty("电子邮箱")
    private String email;

    /** 电话 */
    @ApiModelProperty("电话")
    private String phone;

    /** 所在地址区县Id */
    @ApiModelProperty("所在地址区县Id")
    private Integer locationDistrictId;

    /** 所在地址详细 */
    @ApiModelProperty("所在地址详细")
    private String locationAddress;

    /** 所在地址经度 */
    @ApiModelProperty("所在地址经度")
    private Float locationLng;

    /** 所在地址纬度 */
    @ApiModelProperty("所在地址纬度")
    private Float locationLat;

    /** 自有车辆 */
    @ApiModelProperty("自有车辆")
    private String ownVehicle;

    /** 外部车辆 */
    @ApiModelProperty("外部车辆")
    private String externalVehicle;

    /** 工牌附件 */
    @ApiModelProperty("工牌附件")
    private String workCardAttachment;

    /** 身份证正面附件 */
    @ApiModelProperty("身份证正面附件")
    private String idCardFrontAttachment;

    /** 身份证反面附件 */
    @ApiModelProperty("身份证反面附件")
    private String idCardBackAttachment;

    /** 营业执照附件 */
    @ApiModelProperty("营业执照附件")
    private String businessLicenseAttachment;

    /** 其他附件 */
    @ApiModelProperty("其他附件")
    private String otherAttachment;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;

    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    private Date createTime;

    private Date updateTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;
}
